Skip to content

Add workflow for computing sizing field (cell width) for the unified MPAS mesh#561

Draft
xylar wants to merge 12 commits intoE3SM-Project:mainfrom
xylar:add-build-sizing-field
Draft

Add workflow for computing sizing field (cell width) for the unified MPAS mesh#561
xylar wants to merge 12 commits intoE3SM-Project:mainfrom
xylar:add-build-sizing-field

Conversation

@xylar
Copy link
Copy Markdown
Collaborator

@xylar xylar commented Apr 24, 2026

(Description coming soon...)

Checklist

  • User's Guide has been updated
  • Developer's Guide has been updated
  • API documentation in the Developer's Guide (api.md) has any new or modified class, method and/or functions listed
  • Documentation has been built locally and changes look as expected
  • Testing comment in the PR documents testing used to verify the changes
  • New tests have been added to a test suite

@xylar xylar self-assigned this Apr 24, 2026
@xylar xylar added enhancement New feature or request mesh Related to the mesh component unified-mesh labels Apr 24, 2026
@xylar xylar marked this pull request as draft April 24, 2026 08:53
@xylar xylar force-pushed the add-build-sizing-field branch 5 times, most recently from d150e88 to 076f708 Compare April 24, 2026 19:08
@xylar
Copy link
Copy Markdown
Collaborator Author

xylar commented Apr 25, 2026

Testing

After some debugging, this seems to be working as desired. There is a coastal buffer of about 2 grid cells.

240 km

sizing_field_overview

ocn/ice 30 km, lnd/riv 10 km

sizing_field_overview

ocn/ice RRS 6to18, lnd 12 km, riv 6 km

sizing_field_overview

@xylar xylar force-pushed the add-build-sizing-field branch 4 times, most recently from 8bfd3a1 to d408d84 Compare April 28, 2026 16:44
@xylar xylar force-pushed the add-build-sizing-field branch from d408d84 to fbdf756 Compare May 8, 2026 12:08
xylar added 9 commits May 8, 2026 14:24
The step names were not unique, which causes trouble for workflows
that require more than one of them.
This workflow extracts a signed distance function and ocean/land mask from a combined topography dataset on a lat-lon grid.

Supported resolutions are 1/4, 1/8, 1/16 and 1/32 degree.

It supports three different approaches to the land-ocean interface in Antarctica:
1. coastline at the calving front (main supported case for now)
2. coastline at the grounding (future meshes with ice-shelf cavities) ; and
3. coastline at zero bedrock elevation (potential future meshes with wetting-and-drying).

The ocean region is flood-filled from the north pole to ensure that it is contiguous.

It uses critical passages and blockages to ensure that the floodfill includes or excludes the same regions as we want in the final ocean mesh.
Add the unified spherical river workflow used to prepare HydroRIVERS data for mesh generation and analysis.

- add unified-mesh river configuration and shared defaults under polaris.mesh.spherical.unified
- add source, lat-lon, task, step, and visualization plumbing for preparing and inspecting river products
- integrate coastline-aware rasterization and shared HydroRIVERS archiving for the retained network
- add base-mesh river conditioning so downstream mesh workflows can consume clipped and simplified river products
Add and update tests that cover the new river workflow behavior, including archive handling and unified spherical river processing.
This includes moving the coastline docs into a unified mesh
section and some clean up to those docs as well.
Implement a config-driven sizing-field workflow for unified spherical meshes.

- move sizing-field configuration into the unified mesh package and discover mesh-specific settings from the unified mesh configs
- add the unified sizing-field task, build step, cell-width consumer, and visualization support so the workflow is wired end to end
- compose ocean, land, river, and coastline controls into a shared sizing-field product for downstream mesh generation
- add unified mesh family handling so specialized workflows such as the Southern Ocean mesh can reuse shared background-generation logic while default meshes stay generic
Add and update focused tests for the unified sizing-field workflow, including mesh-family coverage and recent fixes to the sizing-field composition behavior.
@xylar xylar force-pushed the add-build-sizing-field branch from fbdf756 to 2319679 Compare May 8, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request mesh Related to the mesh component unified-mesh

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant